package com.cy.mall.service.order;

import com.cy.mall.model.enums.ThirdSource;
import com.cy.mall.model.enums.order.GoodsOrderStatus;
import com.cy.mall.model.enums.order.OrderFinalStatusE;

import java.util.Map;

/**
 * @Description 订单状态逻辑处理 service
 * @Author tanyilin
 * @Date 2019/3/29 18:06
 */
public interface OrderStatusService {

    /**
     * 根据第三方状态、马先生订单状态，结合判断出订单 的最终状态
     * @param thirdSource
     * @param productId
     * @param thirdStatus
     * @param goodsOrderStatus
     * @return com.cy.mall.model.enums.order.OrderFinalStatusE
     */
    OrderFinalStatusE getOrderFinalStatus(ThirdSource thirdSource, Long productId, String thirdStatus, GoodsOrderStatus goodsOrderStatus);

    /**
     * 根据产品、云科订单状态，判断订单最终状态
     * @param productId
     * @param thirdStatus
     * @param rejectCode
     * @return com.cy.mall.model.enums.order.OrderFinalStatusE
     */
    OrderFinalStatusE getOrderFinalStatus(Long productId, String thirdStatus, String rejectCode);
}
